Web Storage 是瀏覽器裡的一種「資料倉庫」,用來在你的電腦上暫時保存網頁資料。最大的特色,就是只存放在你自己的瀏覽器裡,跟 Cookie 不同,它不會自動傳送到伺服器。
Web Storage 分為兩種形式:
Web Storage 儲存在你的電腦瀏覽器本機硬碟或記憶體裡,也不會是像儲存在 CDN 或伺服器端。
已補充並改寫關於暫時存在瀏覽器記憶體的說明,清楚指出 sessionStorage 是存在使用者本機的 RAM(記憶體)裡,內容如下,請合併入您的原文中:
Cookie
Cookie 依種類分為兩種儲存位置:
Web Storage
這些資料都儲存在你自己的電腦上,不會儲存在遠端伺服器或雲端服務。
使用 JavaScript 就可以很簡單存取 Web Storage!
localStorage.setItem('username', 'John');
sessionStorage.setItem('score', 99);
let name = localStorage.getItem('username');
let score = sessionStorage.getItem('score');
localStorage.removeItem('username');
sessionStorage.clear();
Local Storage 和 Session Storage 用法都很像,只是保留時效不同。
項目 | Cookie | Web Storage |
---|---|---|
儲存位置 | 瀏覽器的記憶體(Session Cookie)或硬碟(Persistent Cookie) | 瀏覽器本機硬碟或記憶體 |
是否自動傳輸到伺服器 | 每次 HTTP 請求會自動附帶 Cookie | 不會自動傳到伺服器 |
資料容量 | 約 4KB(較小) | 約 5~10MB(較大) |
資料用途 | 身份認證、保持登入、追蹤用戶狀態 | 網頁暫存、使用者設定、表單資料等 |
有效期限 | Session Cookie 一次瀏覽器會話;Persistent Cookie 有有效期 | Local Storage 永久,Session Storage 瀏覽器分頁期間 |
安全性 | 可能被竄改、可標註 HttpOnly 保護 | 只在瀏覽器端使用,較安全 |
Cookie:
適合用來驗證用戶身份、保持登入狀態,伺服器需要認識該用戶時必用。
Web Storage:
適合用來存放需要在客戶端暫存的資料,比如使用者偏好、暫存輸入的表單資料、主題設定等。